home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 4.1 KB | 152 lines | [TEXT/MPS ] |
- (*
- File: Serial.mod
-
- Contains: Serial port Interfaces.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE Serial;
-
- IMPORT SYSTEM, Types;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- CONST
- baud300* = 380;
- baud600* = 189;
- baud1200* = 94;
- baud1800* = 62;
- baud2400* = 46;
- baud3600* = 30;
- baud4800* = 22;
- baud7200* = 14;
- baud9600* = 10;
- baud19200* = 4;
- baud38400* = 1;
- baud57600* = 0;
- stop10* = 16384;
- stop15* = -32768;
- stop20* = -16384;
- noParity* = 0;
- oddParity* = 4096;
- evenParity* = 12288;
- data5* = 0;
- data6* = 2048;
- data7* = 1024;
- data8* = 3072;
-
- ctsEvent* = 32;
- breakEvent* = 128;
- xOffWasSent* = 128;
- dtrNegated* = 64;
- ainRefNum* = -6; (*serial port A input*)
- aoutRefNum* = -7; (*serial port A output*)
- binRefNum* = -8; (*serial port B input*)
- boutRefNum* = -9; (*serial port B output*)
- swOverrunErr* = 1; (*serial driver error masks*)
- breakErr* = 8; (*serial driver error masks*)
- parityErr* = 16; (*serial driver error masks*)
- hwOverrunErr* = 32; (*serial driver error masks*)
- framingErr* = 64; (*serial driver error masks*)
- serdOptionClockExternal* = $40; (*option bit used with Control code 16*)
- serdOptionPreserveDTR* = $80; (*option bit used with Control code 16*)
-
- sPortA* = 0;
- sPortB* = 1;
-
-
- TYPE
- SPortSel* = Types.SInt8;
-
- (* csCodes for serial driver Control routines *)
-
- CONST
- serdReset* = 8;
- serdSetBuf* = 9;
- serdHShake* = 10;
- serdClrBrk* = 11;
- serdSetBrk* = 12;
- serdSetBaud* = 13;
- serdHShakeDTR* = 14;
- serdSetMIDI* = 15;
- serdSetMisc* = 16;
- serdSetDTR* = 17;
- serdClrDTR* = 18;
- serdSetPEChar* = 19;
- serdSetPECharAlternate* = 20;
- serdSetXOff* = 21;
- serdClrXOff* = 22;
- serdSendXOnConditional* = 23;
- serdSendXOn* = 24;
- serdSendXOffConditional* = 25;
- serdSendXOff* = 26;
- serdChannelReset* = 27;
- serdSet230KBaud* = 'JF'; (* set 230K baud data rate *)
- serdSetPollWrite* = 'jf'; (* disable interrupt-driven transmit *)
- serdSetFlushCount* = 'FC';
-
- (* csCodes for serial driver Status routines *)
- serdGetBuf* = 2;
- serdStatus* = 8;
- serdGetVers* = 9;
- serdGetVersSys* = $8000;
-
-
- TYPE
- SerShk* = (*ΔΔPACKEDΔΔ*) RECORD
- fXOn*: Types.Byte; (*XOn flow control enabled flag*)
- fCTS*: Types.Byte; (*CTS flow control enabled flag*)
- xOn*: CHAR; (*XOn character*)
- xOff*: CHAR; (*XOff character*)
- errs*: Types.Byte; (*errors mask bits*)
- evts*: Types.Byte; (*event enable mask bits*)
- fInX*: Types.Byte; (*Input flow control enabled flag*)
- fDTR*: Types.Byte; (*DTR input flow control flag*)
- END;
-
- SerStaRec* = (*ΔΔPACKEDΔΔ*) RECORD
- cumErrs*: Types.Byte;
- xOffSent*: Types.Byte;
- rdPend*: Types.Byte;
- wrPend*: Types.Byte;
- ctsHold*: Types.Byte;
- xOffHold*: Types.Byte;
- END;
-
-
- PROCEDURE SerReset*(refNum: INTEGER; serConfig: INTEGER): Types.OSErr;
- EXTERNAL PASCAL;
- PROCEDURE SerSetBuf*(refNum: INTEGER; serBPtr: Types.Ptr; serBLen: INTEGER): Types.OSErr;
- EXTERNAL PASCAL;
- PROCEDURE SerHShake*(refNum: INTEGER; (*CONST*)VAR flags: SerShk): Types.OSErr;
- EXTERNAL PASCAL;
- PROCEDURE SerSetBrk*(refNum: INTEGER): Types.OSErr;
- EXTERNAL PASCAL;
- PROCEDURE SerClrBrk*(refNum: INTEGER): Types.OSErr;
- EXTERNAL PASCAL;
- PROCEDURE SerGetBuf*(refNum: INTEGER; VAR count: LONGINT): Types.OSErr;
- EXTERNAL PASCAL;
- PROCEDURE SerStatus*(refNum: INTEGER; VAR serSta: SerStaRec): Types.OSErr;
- EXTERNAL PASCAL;
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END Serial.
-